from typing import List, Dict
from datetime import datetime
import pandas as pd
from process import baseFunction as bf
# import sys
# sys.path.append("E:\\gitee\\mp_alwaysup_fastapi")


# HDF 文件的基础路径
h5Dir = 'LocalData/HdfData/realMarket/'  # 确保路径以斜杠结尾
key_name = '/marketAmount'


def read_hdf(dateStr: str) -> pd.DataFrame:
    """读取指定日期的 HDF 数据"""
    hdFileName = f'{h5Dir}realMarket-amount-{dateStr}.h5'
    print(hdFileName)
    # 读取数据
    dfData = bf.read_hdf_data(hdFileName, key_name)
    # with pd.HDFStore(hdFileName, mode='r') as store:
    #     # 列出所有可用的键（数据集）
    #     print("Available keys in the HDF5 file:")
    #     print(store.keys())  # 输出所有键
    return dfData


def result(dateStr: str = '') -> List[Dict]:
    """获取指定日期的结果，如果没有提供日期，则返回今天的结果"""
    if not dateStr:
        date = datetime.now()
        dateStr = date.strftime("%Y%m%d")

    resultDf = read_hdf(dateStr)

    return resultDf.to_dict(orient='records')

# 示例用法
# if __name__ == '__main__':
#     # 获取今天的结果
#     # today_result = result()
#     # print(today_result)

#     # 获取特定日期的结果，例如 2023 年 10 月 17 日
#     specific_date_result = result('20241014')
#     print(specific_date_result)
